<!DOCTYPE html>
<html>
    <head>
        <!-- 页面meta -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>传智健康</title>
        <meta name="description" content="传智健康">
        <meta name="keywords" content="传智健康">
        <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
        <!-- 引入样式 -->
        <link rel="stylesheet" href="../css/style.css">
        <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
        <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    </head>
    <body class="hold-transition">
        <div id="app">
            <div class="content-header">
                <h1>统计分析<small>会员数量</small></h1>
                <el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb">
                    <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
                    <el-breadcrumb-item>统计分析</el-breadcrumb-item>
                    <el-breadcrumb-item>会员数量</el-breadcrumb-item>

                </el-breadcrumb>
            </div>
            <div class="app-container">
                <div id="dateapp" >
                    <div class="block" >
                        <span class="demonstration">月份选项</span>
                        <el-date-picker
                                @change="dateChange(value2)"
                                v-model="value2"
                                type="monthrange"
                                align="right"
                                unlink-panels
                                range-separator="至"
                                start-placeholder="开始月份"
                                end-placeholder="结束月份"
                                :picker-options="pickerOptions">
                        </el-date-picker>
                    </div>
                </div>
                <div class="box">
                    <!-- 为 ECharts 准备一个具备大小（宽高）的 DOM -->
                    <div id="chart1" style="height:600px;"></div>
                    <div id="chart2" style="height:600px;"></div>
                    <div id="chart3" style="height:600px;"></div>
                </div>
            </div>
        </div>
    </body>


    <script>

    </script>


    <!-- 引入组件库 -->
    <script src="../js/vue.js"></script>
    <script src="../js/axios-0.18.0.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script src="../js/echarts.js"></script>
    <script type="text/javascript">

        export default {
            data() {
                return {
                    centerDialogVisible: false
                };
            }
        };
    </script>

    <script type="text/javascript">
        // 基于准备好的dom，初始化echarts实例
        var myChart1 = echarts.init(document.getElementById('chart1'));
        var myChart2 = echarts.init(document.getElementById('chart2'));
        var myChart3 = echarts.init(document.getElementById('chart3'));

    // 使用刚指定的配置项和数据显示图表。
    //myChart.setOption(option);

        // 使用刚指定的配置项和数据显示图表。
        var memberOption = {
            title: {
                text: '会员数量'
            },
            tooltip: {},
            legend: {
                data:['会员数量']
            },
            xAxis: {
                data: ["2018.01","2018.02","2018.03","2018.04"]
            },
            yAxis: {
                type:'value'
            },
            series: [{
                name: '会员数量',
                type: 'line',
                data: [13,14,28,30]
            }]
        };
        myChart1.setOption(memberOption);

        axios.get("http://oms.backend.health:82/report/getMemberReport.do").then((res)=>{
            myChart1.setOption(
                                {
                                    title: {
                                        text: '会员数量'
                                    },
                                    tooltip: {},
                                    legend: {
                                        data:['会员数量']
                                    },
                                    xAxis: {
                                        data: res.data.data.months
                                    },
                                    yAxis: {
                                        type:'value'
                                    },
                                    series: [{
                                        name: '会员数量',
                                        type: 'line',
                                        data: res.data.data.memberCount
                                    }]
                                });
        });
        axios.get("http://oms.backend.health:82/report/getMemberReportBySex.do").then((res) => {
            myChart2.setOption({
                title: {
                    text: '会员数量(性别区分)',
                    subtext: '',
                    x: 'center'
                },
                tooltip: {//提示框组件
                    trigger: 'item',//触发类型，在饼形图中为item
                    formatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式
                },
                legend: {
                    orient: 'vertical',
                    left: 'left',
                    data: res.data.data.memberNames
                },
                series: [
                    {
                        name: '会员数量(性别区分)',
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data: res.data.data.memberCount,
                        itemStyle: {
                            emphasis: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            });
        });
        axios.get("http://oms.backend.health:82/report/getMemberReportByAge.do").then((res) => {
            myChart3.setOption({
                title: {
                    text: '会员数量(各年龄段)',
                    subtext: '',
                    x: 'center'
                },
                tooltip: {//提示框组件
                    trigger: 'item',//触发类型，在饼形图中为item
                    formatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式
                },
                legend: {
                    orient: 'vertical',
                    left: 'left',
                    data: res.data.data.memberNames
                },
                series: [
                    {
                        name: '会员数量(各年龄段)',
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data: res.data.data.memberCount,
                        itemStyle: {
                            emphasis: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            });
        });

        new Vue({

            el:"#dateapp",

            data:{

                pickerOptions: {
                    shortcuts: [{
                        text: '本月',
                        onClick(picker) {
                            picker.$emit('pick', [new Date(), new Date()]);
                        }
                    }, {
                        text: '今年至今',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date(new Date().getFullYear(), 0);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近六个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setMonth(start.getMonth() - 6);
                            picker.$emit('pick', [start, end]);
                        }
                    }]
                },
                value2: '',
                backend_url: 'http://oms.backend.health:82'
            },
            methods:{
                //指定日期段 会员数据统计
                dateChange(value2){
                    axios.post(this.backend_url+'/report/getMemberReportByDate.do',value2).then(res=>{
                        if (res.data.flag){
                            //myChart1.setOption();
                            memberOption.xAxis.data = res.data.data.months;
                            memberOption.series[0].data = res.data.data.memberCount;
                            myChart1.clear();
                            myChart1.setOption(memberOption);

                        }else{
                            this.$message.error(this.date.message)
                        }
                    })
                }
            }
        })
    </script>
</html>
